package org.zjx.data.screen;

import org.zjx.command.entity.screen.*;
import org.zjx.command.enums.TeleportType;
import org.zjx.data.BaseSceneBuilder;

import java.awt.*;

public class LongGongSceneBuilder extends BaseSceneBuilder {

    @Override
    protected String getSceneName() {
        return "龙宫";
    }

    @Override
    protected Dimension getSceneSize() {
        return new Dimension(212, 115);
    }

    @Override
    protected void addMonsters() {

    }

    @Override
    protected void addNpcs() {
        addNpc("龙宫传送人", new Point(113, 55));
        addNpc("万圣公主", new Point(20, 64));
        addNpc("蛤蟆头领", new Point(148, 57));
        addNpc("小龙女", new Point(97, 72));
        addNpc("龟太尉", new Point(53, 98));
        addNpc("龟千岁", new Point(98, 58));
        addNpc("虾将军", new Point(195, 28));
        addNpc("蟹将军", new Point(32, 16));
        addNpc("蛤蟆勇士", new Point(196, 99));
    }

    @Override
    protected void addRooms() {
        Room shuiJingGong = createRoom("水晶宫", new Dimension(69, 44));
        addNpcToRoom(shuiJingGong, "东海龙王", new Point(38, 19));
        rooms.add(shuiJingGong);
    }

    @Override
    protected void addTeleports() {
        // 场景传送点
        addSceneTeleport(new Point(111, 61), "水晶宫", new Point(19, 11), new Point(115, 64));
        addSceneTeleport(new Point(202, 103), "海底迷宫一层", new Point(11, 7), new Point(206, 107));

        // NPC传送点
        addNpcTeleport("龙宫传送人", new Point(20, 14), "东海湾", new Point(109, 92), new Point(22, 18));

        // 房间入口传送点
        addRoomTeleport(new Point(111, 61), "水晶宫", new Point(19, 11), new Point(115, 64));
    }

    public static void main(String[] args) {
        new LongGongSceneBuilder().execute("longgong_scene.json", "龙宫");
    }
}